#pragma once
#include <iostream>
#include "Utils/json.hpp"
// By Zero123

namespace UserManager
{
	using json = nlohmann::json;
	extern unsigned int MAX_HISTORY_COUNT; // 最大历史记录数量

	// 实时获取用户历史记录列表
	json GET_USER_HISTORY_LIST();

	// 获取并缓存用户历史记录列表
	json CACHE_GET_USER_HISTORY_LIST();

	// 获取缓存用户历史记录引用
	json& GET_CACHE_USER_HISTORY_REF();

	// 设置用户历史记录列表
	void SET_USER_HISTORY_LIST(const json&);

	// 增加/更新用户历史记录
	void ADD_USER_HISTORY(const std::string& modName, const std::string& modId);

	// 发包查询mod信息
	json POST_MOD_INFO(const std::string& modId);

	// 格式化发包查询mod信息(即便是失败也会返回空json对象)
	json FORMAT_POST_MOD_INFO(const std::string& modId);
}